package org.lemon.cla.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.lemon.cla.enums.ClubMemberRoleEnum;
import org.lemon.cla.enums.ClubMemberStatusEnum;

import java.time.LocalDateTime;

@Data
@Schema(description = "社团成员更新请求对象")
public class ClubMemberUpdateRequest {

    // user_id 和 club_id 作为联合唯一约束，通常不直接在更新时修改
    // 如果需要修改，可能意味着删除旧记录并创建新记录

    @Schema(description = "加入时间", example = "2024-06-23T12:00:00")
    private LocalDateTime joinTime; // 允许修改加入时间，例如校正

    @Schema(description = "社团内角色", example = "社长", allowableValues = {"成员", "社长"})
    private ClubMemberRoleEnum role;

    @Schema(description = "成员状态", example = "已加入", allowableValues = {"申请中", "已加入", "已拒绝"})
    private ClubMemberStatusEnum status;
}